
// 普通 obj 会默认将所有键转化为 string，键永远是 string
const obj = {};

obj[true] = 'value';
obj[123] = 'value';
obj[{a: 1}] = 'value';

console.log(Reflect.ownKeys(obj));


// Map 真正意义上的键值对结合

const m = new Map();
const tom = { name: 'tom' };
m.set(tom, 90);

console.log('m', m);
console.log('m.get', m.get(tom));

// m.has
// m.delete
// m.clear


m.forEach((value, key) => {
    console.log('value', value);
    console.log('key', key);
});
